package Action;

import Forms.ArbolInicioForm;
import beans.Nodo;
import beans.Pareja;
import hibernate.NodoBD;
import hibernate.ParejaBD;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
 *
 * @author Antonio
 */
public class NuevaParejaAction extends Action   {

    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 
            throws Exception {
       
        //Recuperamos el form y el bean
        ArbolInicioForm inicioForm = (ArbolInicioForm)form;
        Nodo nodoPareja = inicioForm.getNodo();
        //Recuperamos el nodo Actual
        Nodo nodoActual = (Nodo)request.getSession().getAttribute("nodoActual");
        //le añadimos a la pareja el arbol de el nodo Actual
        nodoPareja.setArbol(nodoActual.getArbol());
        String muerto = request.getParameter("muerto");
        //le añadimos la fecha de nacimiento
        nodoPareja.setFechaNacimiento(inicioForm.getFechaNacimiento());
        
        //y si esta indicado como fallecido se le añade la fecha de defunción
        if (muerto.equals("si"))
            nodoPareja.setFechaDefuncion(inicioForm.getFechaDefuncion());
        else//sino null
            nodoPareja.setFechaDefuncion(null);
        
        Pareja pareja = new Pareja();
        ParejaBD parejaBD = new ParejaBD(pareja);
        //creamos la pareja del nodo
        parejaBD.creaPareja(nodoActual,nodoPareja);
        
        //Recuperamos el nodoActual con la nueva pareja y lo añadimos a sesion
        NodoBD nbd = new NodoBD(nodoActual);
        nodoActual = nbd.devuelveNodo(nodoActual.getIdNodo());
        request.getSession().setAttribute("nodoActual", nodoActual);
        
        return mapping.findForward("ok");
    }    
}
